/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.camachosanchez.controler.jdbc;

import com.camachosanchez.bean.InspeccionEquipo;
import com.camachosanchez.bean.Pilotos;
import com.camachosanchez.bean.Vehiculos;
import com.camachosanchez.util.ConexionSQL;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Zully
 */
public class InspeccionEquipoJdbcControler {
    
    public InspeccionEquipo obtenerUnicaInspeccionEquipo(int idVehiculo){
        InspeccionEquipo inspeccion = null;
        Connection cn = ConexionSQL.obtenerConexion();
        Statement st;
        try {
            st = cn.createStatement();
            ResultSet rs = st.executeQuery("SELECT id, fecha_hora_entrada, fecha_hora_salida, cliente_entrada, cliente_salida,"
                    + " transportista_entrada, transportista_salida, id_piloto_entrada, id_piloto_salida, id_vehiculo_entrada,"
                    + " id_vehiculo_salida, operable, req_mantenimiento, req_preparacion, daniado"
                    + " FROM inspeccion_equipo"
                    + " WHERE id_vehiculo_salida = " + idVehiculo + " AND estado_transaccion = 0"
                    + " ORDER BY id DESC LIMIT 0,1;");
             if (rs.next()) {
                inspeccion = new InspeccionEquipo();
                inspeccion.setId(rs.getInt(1));
                inspeccion.setFechaHoraEntrada(rs.getDate(2));
                inspeccion.setFechaHoraSalida(rs.getDate(3));
                inspeccion.setClienteEntrada(rs.getString(4));
                inspeccion.setClienteSalida(rs.getString(5));
                inspeccion.setTransportistaEntrada(rs.getString(6));
                inspeccion.setTransportistaSalida(rs.getString(7));
                Pilotos pilotoE = new Pilotos();
                pilotoE.setId(rs.getInt(8));
                inspeccion.setIdPilotoEntrada(pilotoE);
                Pilotos pilotoS = new Pilotos();
                pilotoS.setId(rs.getInt(9));
                inspeccion.setIdPilotoSalida(pilotoS);
                Vehiculos vehiculoE = new Vehiculos();
                vehiculoE.setId(rs.getInt(10));
                inspeccion.setIdVehiculoEntrada(vehiculoE);
                Vehiculos vehiculoS = new Vehiculos();
                vehiculoS.setId(rs.getInt(11));
                inspeccion.setIdVehiculoSalida(vehiculoS);
                inspeccion.setOperable(rs.getBoolean(12));
                inspeccion.setReqMantenimiento(rs.getBoolean(13));
                inspeccion.setReqPreparacion(rs.getBoolean(14));
                inspeccion.setDaniado(rs.getBoolean(15));
            }
            rs.close();
            st.close();
            cn.close();
        } catch (Exception e) {
            Logger.getLogger(InspeccionEquipoJdbcControler.class.getName()).log(Level.SEVERE, null, e);
        }
        return inspeccion;
    }
    
    public List<InspeccionEquipo> obtenerRegistroSalidas(){
        List<InspeccionEquipo> lista = new ArrayList<InspeccionEquipo>();
        InspeccionEquipo inspeccion = null;
        Connection cn = ConexionSQL.obtenerConexion();
        Statement st;
        try {
            st = cn.createStatement();
            ResultSet rs = st.executeQuery("SELECT id, fecha_hora_entrada, fecha_hora_salida, cliente_entrada, cliente_salida,"
                    + " transportista_entrada, transportista_salida, id_piloto_entrada, id_piloto_salida, id_vehiculo_entrada,"
                    + " id_vehiculo_salida, operable, req_mantenimiento, req_preparacion, daniado"
                    + " FROM inspeccion_equipo"
                    + " WHERE estado_transaccion = 0;");
             while (rs.next()) {
                inspeccion = new InspeccionEquipo();
                inspeccion.setId(rs.getInt(1));
                inspeccion.setFechaHoraEntrada(rs.getDate(2));
                inspeccion.setFechaHoraSalida(rs.getDate(3));
                inspeccion.setClienteEntrada(rs.getString(4));
                inspeccion.setClienteSalida(rs.getString(5));
                inspeccion.setTransportistaEntrada(rs.getString(6));
                inspeccion.setTransportistaSalida(rs.getString(7));
                Pilotos pilotoE = new Pilotos();
                pilotoE.setId(rs.getInt(8));
                inspeccion.setIdPilotoEntrada(pilotoE);
                Pilotos pilotoS = new Pilotos();
                pilotoS.setId(rs.getInt(9));
                inspeccion.setIdPilotoSalida(pilotoS);
                Vehiculos vehiculoE = new Vehiculos();
                vehiculoE.setId(rs.getInt(10));
                inspeccion.setIdVehiculoEntrada(vehiculoE);
                Vehiculos vehiculoS = new Vehiculos();
                vehiculoS.setId(rs.getInt(11));
                inspeccion.setIdVehiculoSalida(vehiculoS);
                inspeccion.setOperable(rs.getBoolean(12));
                inspeccion.setReqMantenimiento(rs.getBoolean(13));
                inspeccion.setReqPreparacion(rs.getBoolean(14));
                inspeccion.setDaniado(rs.getBoolean(15));
                lista.add(inspeccion);
            }
            rs.close();
            st.close();
            cn.close();
        } catch (Exception e) {
            Logger.getLogger(InspeccionEquipoJdbcControler.class.getName()).log(Level.SEVERE, null, e);
        }
        return lista;
    }
}
